import "./style/index.scss"
import _ from "lodash"


import { SkySteps, SkyStepItem } from './packages/ArticleSteps/'
import { SkyDropdown, SkyDropdownItem } from './packages/Dropdown/'
import { SkyTable, SkyColumn } from './packages/Table/'
import { SkyMatrix, SkyMatrixRow, SkyMatrixCol } from './packages/Matrix/'
import { SkyPanel } from './packages/Panel/'
import { SkyCollapseTransition } from './packages/CollapseTransition/'
import { SkyFoldingPanel } from './packages/FoldingPanel/'
import { SkyCodePanel } from './packages/CodePanel/'
import { SkyCard } from './packages/Card/'
import { SkySearchPanel } from './packages/SearchPanel/'
import { SkyPanelPositionGroup, SkyPanelPositionUnit } from './packages/PanelPosition/'


import { SkyTreeTable, SkyTreeColumn } from './packages/TreeTable/'
import { SkyTabs, SkyTabPane } from './packages/Tabs/'

import  thousands from './command/thousands-directive'
import  debounce from './command/debounce-directive'
import  verify from './command/verify-directive'
import  waterMarker from './command/water-marker-directive'
import  rate from './command/rate-directive'

import { SkyRadio, SkyRadioGroup } from './packages/Radio/'
import { SkyLayoutCol, SkyLayoutRow } from './packages/Row/'
import { SkyCheckbox, SkyCheckboxGroup  } from './packages/Checkbox/'
import { SkyDialog } from './packages/Dialog/'
import Message from './packages/Message/'
import { SkyTreeSelect } from './packages/TreeSelect/'

const components = [
  SkySteps, SkyStepItem,
  SkyDropdown, SkyDropdownItem,
  SkyMatrix, SkyMatrixRow, SkyMatrixCol,
  SkyTable, SkyColumn,
  SkyPanel,
  SkySearchPanel,
  SkyCard,
  SkyCollapseTransition,
  SkyFoldingPanel,
  SkyCodePanel,
  SkyPanelPositionGroup, SkyPanelPositionUnit,
  SkyTreeTable, SkyTreeColumn,
  SkyRadio, SkyRadioGroup ,
  SkyCheckbox, SkyCheckboxGroup,
  SkyDialog,
  SkyTreeSelect,
  SkyTabs, SkyTabPane,
  SkyLayoutCol, SkyLayoutRow
]


const install = function (app:any, opts = {}) {

  components.forEach(component => {
    app.component(component.name, component);
  });

// 注册
app.directive('thousands',thousands)
app.directive('debounce',debounce)
app.directive('verify',verify)
app.directive('waterMarker',waterMarker)
app.directive('rate',rate)

app.provide("_",_)
  
}

export {
  Message
}

export default install